package com.hmdp.utils;

/**
 * @Classname ILock
 * @Description 利用Redis实现分布式锁功能
 * @Date 2023/12/17 0:22
 * @Author zhuzhenguo
 */
public interface ILock {

    /**
     * 尝试获取锁 (非阻塞模式，只获取一次)
     * @param timeoutSec 锁持有的超时时间，过期后自动释放
     * @return true代表获取锁成功; false代表获取锁失败
     */
    boolean tryLock(long timeoutSec);

    /**
     * 释放锁
     */
    void unlock();

}
